import { songsType } from '../../type'
import { userInfoType } from '../userInfo/type'
// 推荐歌单类型
export interface PersonalizedType {
  id: number
  type: number
  name: string
  picUrl: string
  canDislike: boolean
  playCount: number
  trackCount: number
}
// 歌单详情返回数据类型
export interface songListDetailType {
  id: number
  name: string
  coverImgUrl: string
  description: string
  tags: Array<string> // 标签列表
  coverStatus: number
  playCount: number
  trackCount: number
  tracks: Array<songsType> //歌曲列表
  creator: {
    nickname: string
    avatarUrl: string
  }
}
// 歌单评论返回数据类型
export interface songListCommentType {
  isMusician: boolean
  userId: number
  topComments: []
  moreHot: boolean
  code: number
  more: boolean
  hotComments: commentType[] //热门评论
  comments: commentType[] //评论列表
  commentBanner: null
  total: number
}
export type commentType = {
  user: userInfoType
  beReplied: beRepliedType[] //回复
  pendantData: null
  showFloorComment: showFloorCommentType
  status: number
  commentId: number
  content: string //评论内容
  richContent: null
  contentResource: null
  time: number
  timeStr: string
  needDisplayTime: true
  likedCount: number //点赞数
  expressionUrl: null
  commentLocationType: number
  parentCommentId: number
  decoration: {
    repliedByAuthorCount: number
  }
  repliedMark: null
  grade: null
  userBizLevels: null
  ipLocation: {
    ip: null
    location: string //地理位置
    userId: null
  }
  owner: boolean
  medal: null
  likeAnimationMap: {}
  liked: boolean
}
export type showFloorCommentType = {
  replyCount: number //回复数
  comments: null | string
  showReplyCount: boolean
}
type beRepliedType = {
  user: userInfoType
  beRepliedCommentId: number
  content: string
  richContent: null
  status: number
  expressionUrl: null
  ipLocation: {
    ip: null
    location: string
    userId: null
  }
}
